package com.airlenet.codetoword;

import java.io.IOException;
import java.nio.file.Path;
import java.util.List;
import java.util.Scanner;

/**
 * 代码转Word文档工具 - 主程序入口
 * 
 * 版权所有 © 2025 Airlenet. 保留所有权利。
 * 
 * 本软件用于将代码文件转换为Word文档格式，便于软件著作权申请和技术文档编写。
 * 
 * @author Airlenet开发团队
 * @version 1.0.0
 * @since 2025-10-23
 */
public class Main {
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        System.out.println("=== 代码转Word文档工具 ===");
        System.out.println();
        
        try {
            // 获取输入目录
            System.out.print("请输入要分析的代码目录路径: ");
            String inputDirectory = scanner.nextLine().trim();
            
            // 获取输出文件路径
            System.out.print("请输入Word文档输出路径 (默认: output.docx): ");
            String outputPath = scanner.nextLine().trim();
            if (outputPath.isEmpty()) {
                outputPath = "output.docx";
            }
            
            // 分析代码
            CodeAnalyzer analyzer = new CodeAnalyzer();
            List<CodeFile> codeFiles = analyzer.analyzeDirectory(Path.of(inputDirectory));
            
            if (codeFiles.isEmpty()) {
                System.out.println("在指定目录中未找到代码文件。");
                return;
            }
            
            System.out.println("找到 " + codeFiles.size() + " 个代码文件:");
            for (CodeFile file : codeFiles) {
                System.out.println("  - " + file.getFileName() + " (" + file.getFileType() + ")");
            }
            
            // 生成Word文档
            System.out.println("正在生成Word文档...");
            WordDocumentGenerator generator = new WordDocumentGenerator();
            generator.generateDocument(codeFiles, outputPath, inputDirectory);
            
            System.out.println("文档生成完成: " + outputPath);
            
        } catch (Exception e) {
            System.err.println("错误: " + e.getMessage());
            e.printStackTrace();
        } finally {
            scanner.close();
        }
    }
}